1. Technical Field
The present invention relates to management and control of resources in a computing system. More particularly, the invention concerns assigning a resource, such as storage, to a device, such as a host computer.
2. Description of Related Art
Modern computing systems frequently utilize a large number of computing devices, storage devices, and other components. In a common implementation, a Storage Area Network (SAN) is used to connect computing devices with a large number of storage devices. Management and modeling programs may be used to manage these complex computing environments.
Storage Management Initiative Specification (SMI-S)/Bluefin, and Common Information Model (CIM) technologies, are widely used for managing storage devices and storage environments. The SMI-S is a standard management interface that allows different classes of hardware and software products to interoperate for monitoring and controlling resources. For example, the SMI-S permits storage management systems to identify, classify, monitor, and control physical and logical resources in a SAN. The SMI-S is based on CIM, and Web-Based Enterprise Management (WBEM) architecture. CIM is a model for describing management information, and WBEM is an architecture for using Internet technologies to manage systems and networks. The SMI-S uses CIM to define objects that represent storage entities such as Logical Unit Numbers (LUNs), Disks, Storage Subsystems, Switches, and host Computer Systems. (In many, but not all cases, the term “volume” is interchangeable with the term “LUN”.) CIM also defines the associations that may or may not exist between these objects, such as a Disk being associated to a Storage Subsystem because it physically resides in the Storage Subsystem.
The CIM Objects mentioned above may be managed by a CIM Object Manager (CIMOM). A storage management software application, such as IBM Tivoli Storage Resource Manager (ITSRM), can use a CIM Client to connect to a CIMOM, to retrieve information about the storage entities that the CIMOM manages, and also to perform active configuration of the storage entities. Storage management software that uses a CIM Client may be called a CIM Client Application.
The SMI-S/Bluefin describes how a current storage LUN is mapped. However, the Logical Unit Number (LUN) Masking and Mapping Profile evolved rapidly from the time that the Bluefin Specification was developed to the present version, which is defined in the SMI-S Public Review Draft SMI-S Version 1.0. As a consequence of the rapid evolution, ITSRM 1.2 and the IBM ESS CIM Server for the IBM Enterprise Storage Server (ESS) support a version of the LUN Masking and Mapping Profile that was “captured” between the Profile's Bluefin definition and the Profile's SMI-S definition. (A CIM Server is a CIMOM and a set of CIM Providers.) Consequently, the IBM ESS CIM Server uses a different masking algorithm than described in the latest SMI-S/Bluefin specification, and different associations are made to map a storage LUN to a particular host. These differences can result in complexity and difficulties, as illustrated in the following paragraph.
It is often important for a CIM Client Application to be able to locate available, masked, or unassigned storage LUNs in a disk storage system. However, the complexity of the CIM object model makes it difficult for a CIM Client Application to simply locate the available, masked, or unassigned storage LUNs. The following steps must be taken to determine the Hosts that have read/write access to a specific LUN, and to determine the target Fibre Channel Ports (FCPorts) that are mapped to allow this access, when using the LUN Masking Mapping Model defined in the Bluefin Specification and it's supplemental Whitepapers. These steps exemplify the complexity of the SMI-S/Bluefin LUN Masking and Mapping Model:    1. Get the Controllers that are associated to the LUN through the ControlledBy association.    2. Filter the list of Controllers to only contain Controllers whose AuthorizationView property is equal to “true”.    3. For each Controller in the filtered list, obtain the FCPorts that are mapped to the Controller by using the ConcreteIdentity association.    4. For each Controller in the filtered list, get the AccessControllnformation object that is associated to the Controller by the AuthorizationTarget association.    5. Check that the AccessControlInformation allows ‘Read/write’ access.    6. For each read/write AccessControlInformation, get the HardwareAccount objects using the AuthorizationSubject association. Each HardwareAccount object represents a host or HBA on a host that has read/write access to the LUN through the FCPorts found in step 3.
Thus, a large number of complex and time consuming steps must be performed, and consequently, known techniques for using a CIM Client Application to locate available, masked, or unassigned storage LUNs in a disk storage system are inadequate.